With the growing use of remote-access computer networks which provide a large number of subscribers access to "Data Banks" for receiving, storing, processing and furnishing information of a confidential nature, the question of data security has come to be of increasing concern. Generally, present day computing centers have elaborate procedures for maintaining physical security at the location where the central processor and data storage facilities are located. For example, some procedures used are the restriction of personnel within the computing center, utilization of mechanical keys for activating computer systems and associated terminal devices, and other techniques of this type. These security procedures while providing a measure of safety in keeping out unauthorized individuals from the computing center itself, are not effective with respect to large remote access computer networks which have many terminals located at far distant sites or systems which have a capability of accepting terminal inputs via telecommunication lines.
Some digital techniques have been implemented in computing systems for the purpose of maintaining privacy of data. One such approach is to use a feature generally known as memory protection. This type of data security approach associates with various segments of the storage within the central processor a unique binary key. Then, internal to the processor, there are various protection circuits that check for a match of the binary key executable instructions and those sections of storage which are to be accessed. While this type of protection system provides a certain measure of privacy with respect to accidental destruction of stored information, it would not prove very effective in protecting information within the computing system from a sophisticated cryptanalyst who has complete knowledge of the computing system. In the field of communication, cryptography has long been recognized as a means of achieving certain aspects of security. Various systems have been developed in the prior art for encrypting messages for maintaining secrecy of communications. One well known technique for generating ciphers from clear text messages, is the use of substitution systems. Technically, in such a system, letters or symbols of the clear text are substituted by some other symbol in accordance with a predetermined "Key". The resulting substituted message, comprises a cipher which is secret and hopefully cannot be understood without knowledge of the appropriate key. A particular advantage of substitution in accordance with a prescribed key is that the deciphering operation is easily implemented by a reverse application of the key. A common implementation of substitution techniques may be found in ciphering wheel devices. For example, those disclosed in U.S. Pat. Nos. 2,964,856 and 2,984,700 filed Mar. 10, 1941 and Sept. 22, 1944, respectively.
Further teachings on the design of principles of more advanced substitution techniques may be found in "Communication Theory of Secrecy Systems" by C. E. Shannon, Bell System Technical Journal, Vol. 28, pages 656-715, October 1949. Shannon, in his paper, presents further developments in the art of cryptography by introducing the product cipher. That is, the successive application of two or more distinctly different kinds of message symbol transformations. One example of a product cipher consists of a symbol substitution (nonlinear transformation) followed by a symbol transposition (linear transformation).
Another well known technique for enciphering a clear text message communication, is the use of a ciphered stream bit sequence which is used to form a modulo sum with the symbols of the clear text. The ciphered output message stream is unintelligible without having knowledge of the stream bit generator sequence, which is sometimes referred to as a "key". Examples of such key generators may be found in U.S. Pat. Nos. 3,250,855 and 3,364,308, filed May 23, 1962 and Jan. 23, 1963, respectively.
Various ciphering systems have been developed in the prior art for rearranging communication data in some ordered way to provide secrecy. For example, U.S. Pat. No. 3,522,374 filed June 12, 1967 teaches the processing of a clear text message with a key material generator that controls the number of cycles for ciphering and deciphering. Related to this patent, is U.S. Pat. No. 3,506,783, filed June 12, 1967 which discloses the means for generating the key material which gives a very long pseudo random sequence.
Another approach which has been utilized in the prior art for establishing secret communications, is the coding of the electrical signals themselves which are transmitted on the channel. These types of techniques are more effective in preventing jamming or unauthorized tapping of a communications channel than in preventing a cryptanalyst from understanding a cipher message. Examples of these types of systems may be found in U.S. Pat. Nos. 3,411,089, filed June 28, 1962 and 3,188,390, filed June 8, 1965.
While available prior art systems, notably U.S. Pat. No. 3,798,359, are believed to provide extremely secure cryptographic systems which are not thought to be susceptible of "cracking" by any currently known cryptanalysis methods, it is nevertheless desirable to produce systems which offer approximately the same level of invulnerability to attack at a lower cost of either the required hardware or the time for the encryption method to be completed. In the above mentioned patent, a substantial number of address increments must occur as well as memory accesses in order to perform the various nonlinear transformation or substitution steps. There must also be a substantial amount of capital investment in the actual storage circuitry for said "substitution" binary bit patterns. It is apparent that any cryptography system providing an acceptable level of invulnerability to cracking constructed of less costly hardware would have certain advantages.